﻿﻿// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.

using System;
using Microsoft.ServiceBus.Messaging;

namespace Nardax.Azure.ServiceBus
{
    public interface ITopicAdapter
    {
        void Initialize();

        bool TrySend(BrokeredMessage message);

        bool TrySend<T>(T message) where T : IBrokeredMessageContainer;

        event EventHandler<SendFailedEventArgs> SendFailed;

        TopicAdapterDescription TopicAdapterDescription { get; }
    }
}